Student Understanding of Aliasing and Procedure Calls

نویسندگان

  • Preston Tunnell Wilson
  • Shriram Krishnamurthi
  • Kathi Fisler
چکیده

Abstract Procedure (or method) calls are a basic computation mechanism found in virtually every language. A procedure call may or may not create aliases for parameters. Understanding aliasing is critical for comprehending how programs will behave, with impact on other concepts such as parallelism. In this paper we study the awareness and descriptions of aliasing behavior in two college-level audiences. Œe paper measures their understanding of aliasing, analyzes their wriŠen explanations of procedure calls, and identi€es problems with their knowledge. In particular, we show that even upper-level students su‚er from diculties that instructors might have assumed have long since been addressed.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Acl | Eliminating Parameter Aliasing with Dynamic Dispatch Acl | Eliminating Parameter Aliasing with Dynamic Dispatch

We have implemented a new method for eliminating reference parameter aliases. This method allows procedure calls with overlapping call-by-reference parameters, but at the same time guarantees that procedure bodies are alias-free. The method involves writing multiple bodies for a procedure: one per aliasing combination. Calls are automatically dispatched to the appropriate procedure body based o...

متن کامل

ACL---Eliminating Parameter Aliasing with Dynamic Dispatch

We have implemented a new method for eliminating reference parameter aliases. This method allows procedure calls with overlapping call-by-reference parameters, but at the same time guarantees that procedure bodies are alias-free. The method involves writing multiple bodies for a procedure: one per aliasing combination. Calls are automatically dispatched to the appropriate procedure body based o...

متن کامل

Clean Semantics for Calls with Repeated Arguments

When arguments are repeated in a procedure call, aliasing arises and plays havoc with specification and reasoning. To prevent this aliasing, which renders the semantics of a language unclean even when all other sources of aliasing are avoided, we propose a simple new scheme for parameter passing that uses initial values for passing second and subsequent repeated arguments and localizes the effe...

متن کامل

Data Flow Analysis in the Presence of Procedure Calls

The aliasing that results in a variable being known by more than one name has greatly complicated efforts to derive data flow information. The approach we take involves the use of a series of claims that, after we compute the data flow for some of the aliasing possibilities, allows us to produce good approximations for the remaining cases. The method can thus limit the potential combinatorial e...

متن کامل

Interprocedural Shape Analysis with Separated Heap Abstractions

We describe an interprocedural shape analysis that makes use of spatial locality (i.e. the fact that most procedures modify only a small subset of the heap) in its representation of abstract states. Instead of tracking reachability information directly and aliasing information indirectly, our representation tracks reachability indirectly and aliasing directly. Computing the effect of procedure ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017